import Vue from 'vue'
import router from './router'
import store from './store'
import axios from 'axios'
import VueAxios from 'vue-axios'
import App from './App.vue'
import VueLazyload from 'vue-lazyload'
import VueCookie from 'vue-cookie'
import { Message } from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'
// import env from './env'

//mock开关,mockjs形式
// const mock = false;
// if(mock){
//   require('./mock/api');
// }

//发请求时候，设置基础值,根据前端的跨域方式做调整，
// 当jsonp或者cors(接口域名和前端域名不一样），axios.defaults.baseURL = 'http://www.baidu.com';

// 接口代理时候（接口域名和前端域名一样）
axios.defaults.baseURL = '/api';

// mockjs形式 
// axios.defaults.baseURL = '/api';

// easy-mock平台获取数据
// axios.defaults.baseURL = 'https://www.easy-mock.com/mock/5eca87b388a8c62f93057b4f/mimall';

// 根据环境变量获取不同的请求地址
// axios.defaults.baseURL = env.baseURL;

axios.defaults.timeout = 8000;

//接口错误拦截,这里涉及的是返回拦截（请求拦截用在CMS，对表单参数设置重需求）
axios.interceptors.response.use(function (response) {
  let res = response.data;
  let path = location.hash;
  if(res.status == 0){
    return res.data;
  }else if(res.status == 10){//状态码是10为未登录
    if(path !='#/index'){
      window.location.href = '/#/login';
    }
    return Promise.reject(res.msg);
  }else{
    Message.warning(res.msg)
    return Promise.reject(res.msg);
  }
},(error)=>{
  let res = error.response;
    Message.error(res.data.message);
});

Vue.use(VueAxios,axios);
Vue.use(VueCookie);
Vue.use(VueLazyload, {
  loading: '/imgs/tail-spin.svg',
})
Vue.prototype.$message = Message;
Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
